from langchain.prompts import (
    ChatPromptTemplate,
    HumanMessagePromptTemplate,
    SystemMessagePromptTemplate,
)
from langchain_openai import ChatOpenAI
# 加载 .env 到环境变量
from dotenv import load_dotenv, find_dotenv

_ = load_dotenv(find_dotenv())
llm = ChatOpenAI()
# 定义模版消息,一个系统消息模版，一个用户消息模版
template = ChatPromptTemplate.from_messages(
    [
        SystemMessagePromptTemplate.from_template(
            "你是{product}的客户，你的名字叫{name}"
        ),
        HumanMessagePromptTemplate.from_template("{query}"),
    ]
)
# 生成消息，通过模版format消息
prompt = template.format_messages(
    product="java架构师课堂",
    name="小灵",
    query="你是谁"
)
res = llm.invoke(prompt)
print(res.content)
